Next: Control Parsing, Previous: Parser State, Up: Parsing Expressions [Contents][Index]
The most basic way to use the expression parser is to tell it to start at a given position with a certain state, and parse up to a specified end position.
This function parses a sexp in the current buffer starting at start, not scanning past limit. It stops at position limit or when certain criteria described below are met, and sets point to the location where parsing stops. It returns a parser state describing the status of the parse at the point where it stops.
If the third argument target-depth is
non-nil, parsing stops if the depth in
parentheses becomes equal to target-depth. The
depth starts at 0, or at whatever is given in
state.
If the fourth argument stop-before is
non-nil, parsing stops when it comes to any
character that starts a sexp. If stop-comment is
non-nil, parsing stops when it comes to the
start of a comment. If stop-comment is the symbol
syntax-table, parsing stops after the start of a
comment or a string, or the end of a comment or a string,
whichever comes first.
If state is nil, start
is assumed to be at the top level of parenthesis structure,
such as the beginning of a function definition.
Alternatively, you might wish to resume parsing in the middle
of the structure. To do this, you must provide a
state argument that describes the initial status
of parsing. The value returned by a previous call to
parse-partial-sexp will do nicely.
Next: Control Parsing, Previous: Parser State, Up: Parsing Expressions [Contents][Index]